This invention relates to interactive television program guide systems, and more particularly, to interactive television program guide systems in which an interactive television program guide obtains program guide data using two data delivery mechanisms.
Cable, satellite, and broadcast television systems provide viewers with a large number of television channels. Users have traditionally consulted printed television program schedules to determine the programs being broadcast at a particular time. More recently, interactive television program guides have been developed that allow television program information to be displayed on a user's television. Interactive television program guides, which are typically implemented on set-top boxes, allow the user to navigate through television program listings using a remote control. In a typical program guide, various groups of television program listings are displayed in predefined or user-selected categories. Program listings are typically displayed in a grid or table.
How program listings data is delivered to the program guide may impact overall system performance and the amount of hardware needed at the user's home. One known data delivery approach involves providing a continuous “trickle” data stream of program guide data to the set-top boxes of a number of users, typically on an out-of-band channel. The program guide stores a local copy of the program guide data provided in the continuous data stream. This approach has a number of advantages. Maintaining a local copy of the program guide data at the set-top box allows the program guide to function even if the program guide does not have access to the data stream for an extended period of time. Program guide data is also available to the program guide with no latency. In addition, multiple local data feeds are unnecessary because the program guide can filter its local channel lineup from a single national data feed.
However, this approach requires a significant amount of memory in the set-top box. If an in-band data channel is used, the guide must tune to a channel carrying the data at a regular interval, possibly preventing the user from watching television during that time. If an out-of-band channel is used, a significant amount of time may be required to initially populate the database of program guide data maintained in the set-top box.
In a known Digital Satellite Services (DSS) system, multiple high-speed feeds of various subsets of program guide data are provided to the program guide. This approach suffers from a number of deficiencies. A significant amount of local memory is required to store the data in the satellite receiver, and the program guide or the satellite receiver must still discard some data when the program guide needs to acquire additional data from one of the feeds. There is a delay when the program guide tunes to and acquires such additional data from a particular feed. The high-speed feeds may also not be formatted to allow all types of searches and sorts on the data.
Another type of satellite system has been proposed in which a combination of a trickle feed and high-speed feeds is used to provide program guide data to the program guide. This approach also requires a significant amount of local memory for storing the program guide data. The system also incurs a delay when the program guide acquires data from different streams.
In a client-server based approach, all, of the program guide data may be stored on a remote server that handles program guide data requests from a number of program guides (clients). This approach allows complex requests to be handled with a powerful server rather than a cost-sensitive client device. However, there may be delays associated with accessing the server, especially during times of peak usage. This may result in delays in fundamental operations, such as channel changing. Also, because no data is stored locally by the program guide, the program guide becomes non-functional if the connection to the server is broken.
It is therefore an object of the present invention to provide an interactive television program guide system in which the program guide may obtain program guide data using multiple data delivery mechanisms and thereby provide a robust system in which the amount of memory required for the user's home program guide equipment and the latency for accessing program guide data are minimized.